package apIExercise.collection;

import java.util.ArrayList;
import java.util.Collection;

public class collectionOperDemo {
    public static void main(String[] args) {
        Collection c1=new ArrayList();
        c1.add("阿芬");
        c1.add("java");
        c1.add("one");
        System.out.println("c1"+c1);//c1[阿芬, java, one]

        Collection c2=new ArrayList();
        c2.add("阿芬");
        c2.add("ios");
        c2.add("android");
        System.out.println("c2"+c2);//c2[阿芬, ios, android]

        //addAll:将集合放到集合里
        c1.addAll(c2);
        System.out.println("c1"+c1);//c1[阿芬, java, one, 阿芬, ios, android]
        System.out.println("c2"+c2);//c2[阿芬, ios, android]
        c2.add("af");//c2在addAll在添加数不会改变c1里的数，因为后面添加的东西相当于重新开辟了一个地址
        System.out.println("c1"+c1);//c1[阿芬, java, one, 阿芬, ios, android]
        System.out.println("c2"+c2);//c2[阿芬, ios, android, af]

        Collection c3=new ArrayList();
        c3.add("java");
        c3.add("ios");
        c3.add("php");
        System.out.println("c3:"+c3);//c3:[java, ios, php]

        //containsAll()：判断当前集合中是否包含参数集合中的所有元素
        boolean contains=c1.containsAll(c3);//判断c1是否包含c3中所以元素
        System.out.println("是否包含："+contains);//false
        c1.add("php");//添加集合
        System.out.println("c1"+c1);//c1[阿芬, java, one, 阿芬, ios, android, php]
        boolean contains1=c1.containsAll(c3);//判断c1是否包含c3中所以元素
        System.out.println("是否包含："+contains1);//是否包含：true

        //取交集：retainAll()---只包保留相同的元素，其他的都不要/删除
        c1.retainAll(c3);//保留c1和c3的相同的元素
        System.out.println("c1"+c1);//c1[java, ios, php]
        System.out.println("c3"+c3);//c1[java, ios, php]

        //删交集：removeAll()----删除相同的元素，保留其他的元素
        c1.removeAll(c2);//删除c1和c3相同的数
        System.out.println("c1"+c1);//c1[java, php]
        System.out.println("c2"+c2);//c2[阿芬, ios, android, af]








    }
}
